<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
  <xsl:output method="xml"/>
  
  <xsl:template match="/*">
    <xsl:copy>
      <xsl:attribute name="state"><xsl:value-of select="state[last()]/@type"/></xsl:attribute>
      <exception><xsl:apply-templates select="exception" mode="msg"/></exception>
    </xsl:copy>
  </xsl:template>
  
  <xsl:template match="exception" mode="msg">
    <xsl:value-of select="@type"/>
  </xsl:template>
  
  <xsl:template match="exception[message]" mode="msg">
    <xsl:value-of select="message"/>
  </xsl:template>
  
</xsl:stylesheet>
